home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 22
/
CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso
/
PowerPC
/
Programming
/
PPCSmallEiffel
/
bin_c
/
compile_to_c38.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-01-16
|
59KB
|
1,852 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
void r893c_mapping_procedure_non_small_eiffel(T0* a1,T0* a2){
int _bfuc=0;
T0* _bf=NULL;
_bf=(((T906*)((T906*)a1)))->_base_feature/*44*/;
_bfuc=r883use_current(((T883*)_bf));
/*IF*/if ((!(_bfuc))&&(r324target_cannot_be_dropped(((T324*)(oBC364cpp))))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r883external_c_name(((T883*)_bf)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if (_bfuc) {
r324put_target_as_value(((T324*)(oBC364cpp)));
}
/*FI*//*IF*/if ((r906arg_count(((T906*)a1)))>(0)) {
/*IF*/if (_bfuc) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/r324put_arguments(((T324*)(oBC364cpp)));
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
/*]*/
}
void r893c_mapping_function_non_small_eiffel(T0* a1,T0* a2){
int _tcbd=0;
int _bfuc=0;
T0* _bf=NULL;
_bf=(((T892*)((T892*)a1)))->_base_feature/*48*/;
_bfuc=r679use_current(((T679*)_bf));
/*IF*/if (!(_bfuc)) {
_tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp)));
/*IF*/if (_tcbd) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r679external_c_name(((T679*)_bf)));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if (_bfuc) {
r324put_target_as_value(((T324*)(oBC364cpp)));
}
/*FI*//*IF*/if ((r892arg_count(((T892*)a1)))>(0)) {
/*IF*/if (_bfuc) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/r324put_arguments(((T324*)(oBC364cpp)));
}
/*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if ((!(_bfuc))&&(_tcbd)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:NATIVE_WITH_CURRENT.c_define_function*/
/*No:NATIVE_WITH_CURRENT.fz_14*/
/*No:NATIVE_WITH_CURRENT.c_define_procedure*/
/*No:NATIVE_WITH_CURRENT.stupid_switch*/
/*No:NATIVE_WITH_CURRENT.c_mapping_procedure*/
/*No:NATIVE_WITH_CURRENT.c_mapping_function*/
/*No:NATIVE_WITH_CURRENT.use_current*/
void r881make(T881* C,T0* a1,T0* a2){
T0* _fga=NULL;
int _i=0;
int _rank=0;
C->_start_position=a1;
C->_list=a2;
_i=(((T681*)((T681*)a2)))->_upper/*8*/;
while (!((_i)==(0))) {
_fga=r681item(((T681*)a2),_i);
_rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/);
/*IF*/if ((_rank)!=(_i)) {
r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/);
r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_i=(_i)-(1);
}
}
/*No:FORMAL_GENERIC_LIST.start_position*/
/*No:FORMAL_GENERIC_LIST.item*/
/*No:FORMAL_GENERIC_LIST.list*/
/*No:FORMAL_GENERIC_LIST.count*/
/*No:FORMAL_GENERIC_LIST.fatal_error*/
int r881index_of(T881* C,T0* a1){
int R=0;
T0* _to_string=NULL;
_to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/;
while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:CST_ATT_BOOLEAN.arguments*/
T0* r580try_to_undefine(T580* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=r580try_to_undefine_aux(C,a1,a2);
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T580*)C))->_clients/*20*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
/*No:CST_ATT_BOOLEAN.is_deferred*/
void r580add_into(T580* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
/*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
_fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
r683add_position(X776start_position(_fn));
r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
else {
r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* r580try_to_undefine_aux(T580* C,T0* a1,T0* a2){
T0* R=NULL;
r683add_position(r580start_position(C));
r580error(X776start_position(a1),((T0*)ms1_308));
r605fatal_undefine(((T605*)a2),a1);
return R;
}
void r580make(T580* C,T0* a1,T0* a2,T0* a3){
r580make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
/*No:CST_ATT_BOOLEAN.nb_errors*/
/*No:CST_ATT_BOOLEAN.set_header_comment*/
T0* r580start_position(T580* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r580to_run_feature(T580* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X291run_class(a1);
R=r355at(((T355*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 808:
break;
default:
R=NULL;
};/*IF*/if ((R)==((void*)(NULL))) {
{T808*n=malloc(sizeof(*n));
*n=M808;
r808make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI*/return R;
}
/*No:CST_ATT_BOOLEAN.ensure_assertion*/
/*No:CST_ATT_BOOLEAN.code_require*/
/*No:CST_ATT_BOOLEAN.result_type*/
/*No:CST_ATT_BOOLEAN.em1*/
/*No:CST_ATT_BOOLEAN.set_clients*/
/*No:CST_ATT_BOOLEAN.em2*/
/*No:CST_ATT_BOOLEAN.value*/
/*No:CST_ATT_BOOLEAN.require_assertion*/
/*No:CST_ATT_BOOLEAN.names*/
/*No:CST_ATT_BOOLEAN.value_mem*/
/*No:CST_ATT_BOOLEAN.stupid_switch*/
int r580can_hide(T580* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r580error(r580start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r580error(r580start_position(C),((T0*)ms6_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*//*AF*//*AE*/
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:CST_ATT_BOOLEAN.header_comment*/
int r580is_merge_with(T580* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r580error(r580start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r580error(r580start_position(C),((T0*)ms3_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*//*AF*//*AE*/
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:CST_ATT_BOOLEAN.fz_dot*/
/*No:CST_ATT_BOOLEAN.first_name*/
/*No:CST_ATT_BOOLEAN.clients*/
void r580collect_for(int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*//*AF*//*AE*/
/*FI*/}
else {
/*IF*//*AF*//*AE*/
/*FI*/}
/*FI*/}
void r580error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CST_ATT_BOOLEAN.base_class*/
/*No:CST_ATT_BOOLEAN.base_class_name*/
void r580make_e_feature(T580* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
/*No:TYPE_INTEGER.id*/
int r788has_creation(T788* C,T0* a1){
int R=0;
r683add_position(X776start_position(a1));
r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
return R;
}
/*No:TYPE_INTEGER.is_anchored*/
/*No:TYPE_INTEGER.us_integer*/
/*No:TYPE_INTEGER.is_array*/
/*No:TYPE_INTEGER.fz_typedef*/
int r788is_a(T788* C,T0* a1){
int R=0;
/*IF*/if (((X291is_integer(a1))||(X291is_double(a1)))||(X291is_real(a1))) {
R=1;
}
else {
R=r605is_subclass_of(((T605*)(r788base_class(C))),X291base_class(a1));
/*IF*/if (R) {
r788used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
r683add_type((T0*)C,((T0*)ms71_470));
r683add_type(a1,((T0*)ms67_470));
}
/*FI*/return R;
}
/*No:TYPE_INTEGER.c_initialize_in*/
/*No:TYPE_INTEGER.c_type_for_argument_in*/
void r788gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms115_470));
r2append_in(2,a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_INTEGER.run_type*/
/*No:TYPE_INTEGER.is_pointer*/
/*No:TYPE_INTEGER.is_dummy_expanded*/
/*No:TYPE_INTEGER.is_string*/
/*No:TYPE_INTEGER.space_for_variable*/
/*No:TYPE_INTEGER.is_like_feature*/
/*No:TYPE_INTEGER.is_like_current*/
void r788make(T788* C,T0* a1){
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms15_473),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_INTEGER.nb_errors*/
/*No:TYPE_INTEGER.us_item*/
void r788load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
r355set_at_run_time(((T355*)_rc));
_rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
}
int fBC364type_integer_ref=0;
T0*oBC364type_integer_ref=NULL;
T0* r788type_integer_ref(void){
if (fBC364type_integer_ref==0){
T0* R=NULL;
T0* _integer_ref=NULL;
fBC364type_integer_ref=1;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms16_473),NULL);
_integer_ref=(T0*)n;
}
{T657*n=malloc(sizeof(*n));
*n=M657;
/*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_integer_ref);
/*]*/
R=(T0*)n;
}
oBC364type_integer_ref=R;}
return oBC364type_integer_ref;}
int fBC788check_type=0;
void r788check_type(T788* C){
if (fBC788check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC788check_type=1;
_bc=r788base_class(C);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_rc=r788run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_788));
}
/*FI*/}
/*FI*/}}
/*No:TYPE_INTEGER.mapping_cast*/
/*No:TYPE_INTEGER.start_position*/
/*No:TYPE_INTEGER.c_type_for_target_in*/
/*No:TYPE_INTEGER.fz_gc_mark*/
/*No:TYPE_INTEGER.fz_inako*/
/*No:TYPE_INTEGER.gc_initialize*/
/*No:TYPE_INTEGER.fz_00*/
/*No:TYPE_INTEGER.is_character*/
/*No:TYPE_INTEGER.is_user_expanded*/
T0* r788written_mark(void){
T0* R=NULL;
R=((T0*)ms15_473);
return R;
}
/*No:TYPE_INTEGER.is_run_type*/
T0* r788to_runnable(T788* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r788check_type(C);
return R;
}
void r788c_type_for_external_in(T0* a1){
/*IF*//*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
/*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
r7append(((T7*)c1),((T0*)ms111_470));
}/*]*/
}/*]*/
/*FI*/}
T0* r788generic_list(T788* C){
T0* R=NULL;
r788fatal_error_generic_list(C);
return R;
}
/*No:TYPE_INTEGER.is_formal_generic*/
void r788demangling_in(T0* a1){
/*IF*//*AF*//*AE*/
r7extend(((T7*)a1),'E');
/*FI*/r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),r788run_time_mark());
}
/*No:TYPE_INTEGER.is_real*/
/*No:TYPE_INTEGER.us_integer_ref*/
/*No:TYPE_INTEGER.is_bit*/
void r788fatal_error_generic_list(T788* C){
r683add_type((T0*)C,((T0*)ms12_291));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*No:TYPE_INTEGER.fz_new*/
T0* r788smallest_ancestor(T788* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X291run_type(a1);
/*IF*/if (X291is_integer(_rto)) {
R=(T0*)C;
}
else if (X291is_real(_rto)) {
R=a1;
}
else if (X291is_double(_rto)) {
R=a1;
}
else {
R=r657smallest_ancestor(((T657*)(r788type_integer_ref())),_rto);
}
/*FI*/return R;
}
/*No:TYPE_INTEGER.is_boolean*/
/*No:TYPE_INTEGER.is_double*/
T0* r788run_class(T788* C){
T0* R=NULL;
R=r604run_class((T0*)C);
return R;
}
T0* r788run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_473);
return R;
}
/*No:TYPE_INTEGER.c_initialize*/
/*No:TYPE_INTEGER.cast_to_ref*/
void r788gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms107_470));
r2append_in(2,a1);
}
int r788is_a_in(T788* C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if ((r788written_mark())==((void*)(X291written_mark(a1)))) {
R=1;
}
else {
_ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
_t1=r788to_runnable(C,_ct);
_t2=X291to_runnable(a1,_ct);
/*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
R=1;
}
else {
R=X291is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
T0* r788look_up_for(T788* C,T0* a1,T0* a2){
T0* R=NULL;
R=r605look_up_for(((T605*)(r788base_class(C))),a1,a2);
return R;
}
/*No:TYPE_INTEGER.c_header_pass1*/
/*No:TYPE_INTEGER.c_type_for_result_in*/
/*No:TYPE_INTEGER.expanded_initializer*/
/*No:TYPE_INTEGER.fz_int*/
/*No:TYPE_INTEGER.fz_void*/
/*No:TYPE_INTEGER.fz_dot*/
/*No:TYPE_INTEGER.is_generic*/
int fBC788used_as_reference=0;
void r788used_as_reference(void){
if (fBC788used_as_reference==0){
fBC788used_as_reference=1;
r788load_ref(((T0*)ms16_473));
}}
int r788space_for_integer(void){
int R=0;
R=sizeof(T2);
return R;
}
/*No:TYPE_INTEGER.c_header_pass2*/
/*No:TYPE_INTEGER.gc_define1*/
/*No:TYPE_INTEGER.need_c_struct*/
/*No:TYPE_INTEGER.is_reference*/
/*No:TYPE_INTEGER.gc_info_in*/
void r788error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r788base_class(T788* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(((T788*)C))->_base_class_name/*4*/;
/*IF*/if ((_bcn)!=((void*)(NULL))) {
R=r451base_class(((T451*)_bcn));
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type((T0*)C,((T0*)ms67_470));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/return R;
}
/*No:TYPE_INTEGER.call_gc_sweep_in*/
/*No:TYPE_INTEGER.gc_define2*/
/*No:TYPE_INTEGER.need_gc_mark_function*/
/*No:TYPE_INTEGER.is_any*/
/*No:TYPE_INTEGER.to_reference*/
/*No:TYPE_INTEGER.c_header_pass3*/
/*No:TYPE_INTEGER.base_class_name*/
/*No:TYPE_INTEGER.is_expanded*/
/*No:TYPE_INTEGER.is_basic_eiffel_expanded*/
/*No:TYPE_INTEGER.is_none*/
/*No:TYPE_INTEGER.to_expanded*/
/*No:TYPE_INTEGER.is_integer*/
/*No:TYPE_INTEGER.c_header_pass4*/
/*No:PROC_CALL_1.arguments*/
T0* r317add_comment(T317* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r317make(T317* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:PROC_CALL_1.nb_errors*/
/*No:PROC_CALL_1.feature_name*/
/*No:PROC_CALL_1.arg_count*/
/*No:PROC_CALL_1.run_feature*/
/*No:PROC_CALL_1.set_run_compound*/
/*No:PROC_CALL_1.call_proc_call_c2c*/
T0* r317start_position(T317* C){
T0* R=NULL;
R=X776start_position((((T317*)C))->_feature_name/*12*/);
return R;
}
/*No:PROC_CALL_1.target*/
void r317compile_to_c(T317* C){
r324rs_push_position(((T324*)(oBC364cpp)),'3',r317start_position(C));
/*[IRF3.6call_proc_call_c2c*/{T317* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
r324rs_pop_position(((T324*)(oBC364cpp)));
}
/*No:PROC_CALL_1.set_run_feature*/
T0* r317to_runnable(T317* C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
/*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r317to_runnable_0(C,a1);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_a=X431to_runnable((((T317*)C))->_arguments/*20*/,r317current_type(C));
/*IF*/if ((_a)==((void*)(NULL))) {
r317error(X662start_position(r317arg1(C)),((T0*)ms55_470));
}
else {
C->_arguments=_a;
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
X431match_with((((T317*)C))->_arguments/*20*/,(((T317*)C))->_run_feature/*16*/);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
{T317*n=malloc(sizeof(*n));
*n=M317;
r317make(n,(((T317*)C))->_target/*8*/,(((T317*)C))->_feature_name/*12*/,(((T317*)C))->_arguments/*20*/);
R=(T0*)n;
}
R=r317to_runnable(((T317*)R),a1);
}
/*FI*/return R;
}
/*No:PROC_CALL_1.us_c_inline_c*/
int r317standard_use_current(T317* C){
int R=0;
/*IF*/{/*AT*/R=X431use_current((((T317*)C))->_arguments/*20*/);
}
/*FI*//*IF*/if (R) {
}
else if (X662is_current((((T317*)C))->_target/*8*/)) {
R=X496use_current((((T317*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T317*)C))->_target/*8*/);
}
/*FI*/return R;
}
/*No:PROC_CALL_1.fz_07*/
T0* r317current_type(T317* C){
T0* R=NULL;
/*IF*/if (((((T317*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T317*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
/*No:PROC_CALL_1.run_compound*/
void r317to_runnable_0(T317* C,T0* a1){
C->_run_compound=a1;
r317cpc_to_runnable(C,r317current_type(C));
/*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T317*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
r683add_position(X496start_position((((T317*)C))->_run_feature/*16*/));
r317error(X776start_position((((T317*)C))->_feature_name/*12*/),((T0*)ms1_173));
}
/*FI*/}
/*No:PROC_CALL_1.is_pre_computable*/
void r317cpc_to_runnable(T317* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T317*)C))->_target/*8*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T317*)C))->_target/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
}
int r317use_current(T317* C){
int R=0;
T0* _s=NULL;
T0* _ms=NULL;
/*IF*/if ((((T0*)ms65_473))==((void*)(X776to_string((((T317*)C))->_feature_name/*12*/)))) {
_ms=r317arg1(C);
if(NULL!=(_ms))switch(((T0*)_ms)->id) {
case 805:
break;
default:
_ms=NULL;
};_s=(((T805*)((T805*)_ms)))->_to_string/*16*/;
R=r7has(((T7*)_s),'C');
}
else {
R=r317standard_use_current(C);
}
/*FI*/return R;
}
void r317finalize(T317* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(((T317*)C))->_run_feature/*16*/;
_rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
/*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
_rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
C->_run_feature=_rf;
}
/*FI*/}
void r317error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:PROC_CALL_1.fatal_error*/
/*No:PROC_CALL_1.fz_bad_argument*/
T0* r317arg1(T317* C){
T0* R=NULL;
R=X431first((((T317*)C))->_arguments/*20*/);
return R;
}
/*No:PROC_CALL_1.end_mark_comment*/
void r317afd_check(T317* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T317*)C))->_target/*8*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T317*)C))->_target/*8*/);
/*IF*/{/*AT*/X431afd_check((((T317*)C))->_arguments/*20*/);
}
/*FI*/}
T0* r317make_runnable(T317* C,T0* a1,T0* a2,T0* a3,T0* a4){
T0* R=NULL;
/*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
R=(T0*)C;
r317make(((T317*)R),a2,(((T317*)C))->_feature_name/*12*/,a3);
C->_run_compound=a1;
C->_run_feature=a4;
}
else {
{T317*n=malloc(sizeof(*n));
*n=M317;
r317make(n,a2,(((T317*)C))->_feature_name/*12*/,a3);
R=(T0*)n;
}
/*[IRF3.3set_run_compound*/((((T317*)(((T317*)R))))->_run_compound)=(a1);
/*]*/
/*[IRF3.3set_run_feature*/((((T317*)(((T317*)R))))->_run_feature)=(a4);
/*]*/
}
/*FI*/return R;
}
T0* r23add_comment(T23* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r23to_integer(T23* C){
int R=0;
r23error((((T23*)C))->_start_position/*16*/,((T0*)ms69_470));
return R;
}
int r23is_a(T23* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T23*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position((((T23*)C))->_start_position/*16*/);
r23error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:LOCAL_NAME2.is_current*/
void r23mapping_c_arg(T23* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type((((T23*)C))->_result_type/*24*/);
/*IF*/if (X291is_reference(_rt)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
}
else {
X291to_expanded(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else if (X291is_reference(a1)) {
X291to_reference(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(_rt)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*//*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
}
/*FI*/}
/*No:LOCAL_NAME2.static_value*/
void r23mapping_c_target(T23* C,T0* a1){
T0* _rt=NULL;
int _flag=0;
_flag=r324call_invariant_start(a1);
_rt=X291run_type((((T23*)C))->_result_type/*24*/);
/*IF*/if (X291is_reference(_rt)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
X291to_expanded(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else if (X291is_reference(a1)) {
X291to_reference(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(_rt)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*//*[IRF3.6compile_to_c*/{T23* C1=C;
r324print_local(((T324*)(oBC364cpp)),(((T23*)C1))->_to_string/*12*/);
}/*]*/
}
/*FI*//*IF*/if (_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:LOCAL_NAME2.to_string*/
/*No:LOCAL_NAME2.fz_iinaiv*/
/*No:LOCAL_NAME2.dca_inline_argument*/
/*No:LOCAL_NAME2.set_result_type*/
/*No:LOCAL_NAME2.start_position*/
/*No:LOCAL_NAME2.compile_to_c*/
/*No:LOCAL_NAME2.c_simple*/
T0* r23to_runnable(T23* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
T0* _declaration_name=NULL;
T0* _lvl=NULL;
T0* _rf=NULL;
_rf=r604top_rf(((T604*)(oBC364small_eiffel)));
_lvl=X496local_vars(_rf);
_declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)_lvl)))->_flat_list/*12*/)),(((T23*)C))->_rank/*20*/)/*)*/;
/*[IRF3.3set_is_used*/((((T39*)(((T39*)_declaration_name))))->_is_used)=(1);
/*]*/
_rt=r620type(((T620*)_lvl),(((T23*)C))->_rank/*20*/);
/*IF*/if (((((T23*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
C->_result_type=_rt;
R=(T0*)C;
}
else {
{T23*n=malloc(sizeof(*n));
*n=M23;
r23make_runnable(n,(T0*)C,a1,_rt);
R=(T0*)n;
}
}
/*FI*/return R;
}
/*No:LOCAL_NAME2.set_rank*/
/*No:LOCAL_NAME2.rank*/
/*No:LOCAL_NAME2.result_type*/
/*No:LOCAL_NAME2.is_result*/
/*No:LOCAL_NAME2.is_static*/
/*No:LOCAL_NAME2.can_be_dropped*/
/*No:LOCAL_NAME2.current_type*/
/*No:LOCAL_NAME2.compile_to_c_old*/
/*No:LOCAL_NAME2.static_value_mem*/
/*No:LOCAL_NAME2.is_manifest_string*/
void r23refer_to(T23* C,T0* a1,T0* a2,int a3){
T0* _declaration_name=NULL;
C->_start_position=a1;
C->_rank=a3;
_declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)a2)))->_flat_list/*12*/)),a3)/*)*/;
C->_to_string=(((T39*)((T39*)_declaration_name)))->_to_string/*12*/;
C->_result_type=(((T39*)((T39*)_declaration_name)))->_result_type/*24*/;
}
/*No:LOCAL_NAME2.is_void*/
/*No:LOCAL_NAME2.is_pre_computable*/
/*No:LOCAL_NAME2.use_current*/
void r23error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:LOCAL_NAME2.isa_dca_inline_argument*/
/*No:LOCAL_NAME2.afd_check*/
void r23make_runnable(T23* C,T0* a1,T0* a2,T0* a3){
*((T23*)(C))=*((T23*)(a1));
C->_current_type=a2;
C->_result_type=a3;
}
/*No:CALL_0_C.arguments*/
T0* r487add_comment(T487* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r487to_integer(T487* C){
int R=0;
T0* _rf1=NULL;
_rf1=(((T487*)C))->_run_feature/*20*/;
if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
case 808:
break;
default:
_rf1=NULL;
};/*IF*/if ((_rf1)==((void*)(NULL))) {
r487error(r487start_position(C),((T0*)ms69_470));
}
else {
R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
}
/*FI*/return R;
}
int r487is_a(T487* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T487*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(r487start_position(C));
r487error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_0_C.is_current*/
void r487mapping_c_arg(T487* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X291run_type((((T487*)C))->_result_type/*24*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
r487compile_to_c(C);
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
r487compile_to_c(C);
}
/*FI*/}
/*FI*/}
/*FI*/}
/*No:CALL_0_C.static_value*/
void r487make(T487* C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}
void r487mapping_c_target(T487* C,T0* a1){
T0* _actual_type=NULL;
int _flag=0;
_flag=r324call_invariant_start(a1);
_actual_type=X291run_type((((T487*)C))->_result_type/*24*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r487compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
r487compile_to_c(C);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:CALL_0_C.nb_errors*/
/*No:CALL_0_C.feature_name*/
/*No:CALL_0_C.fz_iinaiv*/
/*No:CALL_0_C.arg_count*/
/*No:CALL_0_C.dca_inline_argument*/
/*No:CALL_0_C.run_feature*/
/*No:CALL_0_C.call_proc_call_c2c*/
T0* r487start_position(T487* C){
T0* R=NULL;
R=X776start_position((((T487*)C))->_feature_name/*16*/);
return R;
}
/*No:CALL_0_C.target*/
/*No:CALL_0_C.us_is_expanded_type*/
void r487compile_to_c(T487* C){
T0* _n=NULL;
_n=X776to_string((((T487*)C))->_feature_name/*16*/);
/*IF*/if ((((T0*)ms83_473))==((void*)(_n))) {
/*IF*/if (X291is_expanded(X291run_type(X662result_type((((T487*)C))->_target/*12*/)))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='1';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='0';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else if ((((T0*)ms82_473))==((void*)(_n))) {
/*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T487*)C))->_target/*12*/))) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='1';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='0';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*[IRF3.6call_proc_call_c2c*/{T487* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
}
/*FI*/}
/*No:CALL_0_C.c_simple*/
T0* r487to_runnable(T487* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T487*)C))->_current_type/*8*/)==((void*)(NULL))) {
r487to_runnable_0(C,a1);
/*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T487*)C))->_run_feature/*20*/))>(0))) {
r683add_position(X776start_position((((T487*)C))->_feature_name/*16*/));
r487error(X496start_position((((T487*)C))->_run_feature/*20*/),((T0*)ms1_752));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r487twin(C);
/*[IRF3.3set_current_type*/((((T487*)(((T487*)R))))->_current_type)=(NULL);
/*]*/
R=r487to_runnable(((T487*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_0_C.result_type*/
/*No:CALL_0_C.is_result*/
T0* r487twin(T487* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T487*)R)=*C;
return R;
}
/*No:CALL_0_C.set_current_type*/
int r487is_static(T487* C){
int R=0;
T0* _tb=NULL;
T0* _tt=NULL;
T0* _name=NULL;
/*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) {
_tt=X662result_type((((T487*)C))->_target/*12*/);
_name=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_name/*16*/));
/*IF*/if ((((T0*)ms83_473))==((void*)(_name))) {
R=1;
/*IF*/if (X291is_expanded(_tt)) {
C->_static_value_mem=1;
}
/*FI*/}
else if ((((T0*)ms82_473))==((void*)(_name))) {
R=1;
/*IF*/if (X291is_basic_eiffel_expanded(_tt)) {
C->_static_value_mem=1;
}
/*FI*/}
else if (((((T0*)ms60_473))==((void*)(_name)))&&(X291is_bit(_tt))) {
R=1;
_tb=_tt;
if(NULL!=(_tb))switch(((T0*)_tb)->id) {
case 549: case 558:
break;
default:
_tb=NULL;
};C->_static_value_mem=X609nb(_tb);
}
else if (X662is_current((((T487*)C))->_target/*12*/)) {
/*IF*/if (X496is_static((((T487*)C))->_run_feature/*20*/)) {
R=1;
C->_static_value_mem=X496static_value_mem((((T487*)C))->_run_feature/*20*/);
}
else {
R=r487call_is_static(C);
}
/*FI*/}
else {
R=r487call_is_static(C);
}
/*FI*/}
/*FI*/return R;
}
int r487call_is_static(T487* C){
int R=0;
T0* _rf=NULL;
T0* _running=NULL;
T0* _rc=NULL;
/*IF*/if (((((T487*)C))->_run_feature/*20*/)!=((void*)(NULL))) {
_rc=X496run_class((((T487*)C))->_run_feature/*20*/);
/*IF*/if ((_rc)!=((void*)(NULL))) {
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) {
_rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T487*)C))->_run_feature/*20*/);
/*IF*/if (X496is_static(_rf)) {
C->_static_value_mem=X496static_value_mem(_rf);
R=1;
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*No:CALL_0_C.fz_07*/
/*No:CALL_0_C.us_is_basic_expanded_type*/
int r487can_be_dropped(T487* C){
int R=0;
/*IF*/if (X662can_be_dropped((((T487*)C))->_target/*12*/)) {
R=X496can_be_dropped((((T487*)C))->_run_feature/*20*/);
}
/*FI*/return R;
}
/*No:CALL_0_C.us_count*/
/*No:CALL_0_C.current_type*/
void r487compile_to_c_old(T487* C){
X662compile_to_c_old((((T487*)C))->_target/*12*/);
/*IF*//*AF*//*AE*/
/*FI*/}
/*No:CALL_0_C.static_value_mem*/
/*No:CALL_0_C.is_manifest_string*/
/*No:CALL_0_C.is_void*/
void r487to_runnable_0(T487* C,T0* a1){
C->_current_type=a1;
r487cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T487*)C))->_run_feature/*20*/))))->_result_type/*24*/);
/*IF*/if (((((T487*)C))->_result_type/*24*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T487*)C))->_run_feature/*20*/));
r487error(X776start_position((((T487*)C))->_feature_name/*16*/),((T0*)ms1_295));
}
else if (X291is_like_current((((T487*)C))->_result_type/*24*/)) {
C->_result_type=X662result_type((((T487*)C))->_target/*12*/);
}
/*FI*/}
int r487is_pre_computable(T487* C){
int R=0;
/*IF*/if (X662is_current((((T487*)C))->_target/*12*/)) {
R=X496is_pre_computable((((T487*)C))->_run_feature/*20*/);
}
/*FI*/return R;
}
void r487cpc_to_runnable(T487* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T487*)C))->_target/*12*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T487*)C))->_target/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/);
}
int r487use_current(T487* C){
int R=0;
/*IF*//*AF*//*AE*/
/*FI*//*IF*/if (R) {
}
else if (X662is_current((((T487*)C))->_target/*12*/)) {
R=X496use_current((((T487*)C))->_run_feature/*20*/);
}
else {
R=X662use_current((((T487*)C))->_target/*12*/);
}
/*FI*/return R;
}
void r487finalize(T487* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(((T487*)C))->_run_feature/*20*/;
_rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
/*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
_rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
C->_run_feature=_rf;
}
/*FI*/}
void r487error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_0_C.isa_dca_inline_argument*/
/*No:CALL_0_C.fatal_error*/
void r487afd_check(T487* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T487*)C))->_target/*12*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T487*)C))->_target/*12*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T487*)C))->_target/*12*/,(((T487*)C))->_run_feature/*20*/);
}
/*FI*/X662afd_check((((T487*)C))->_target/*12*/);
/*IF*//*AF*//*AE*/
/*FI*/}
void r583make(T583* C,T0* a1,T0* a2,T0* a3,T0* a4){
C->_start_position=a1;
C->_clients=a2;
C->_comment=a3;
/*IF*/if ((a4)!=((void*)(NULL))) {
{T953*n=malloc(sizeof(*n));
*n=M953;
r953make(n,a4);
C->_procedure_list=(T0*)n;
}
}
/*FI*/}
/*No:CREATION_CLAUSE.start_position*/
void r583check_expanded_with(T583* C,T0* a1){
T0* _rc=NULL;
T0* _rf3=NULL;
T0* _rf=NULL;
/*IF*/if (((((T583*)C))->_procedure_list/*12*/)==((void*)(NULL))) {
r683add_position((((T583*)C))->_start_position/*0*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_583);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if ((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1)) {
r683add_type(a1,((T0*)ms65_470));
r683add_position((((T583*)C))->_start_position/*0*/);
/*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
/*]*/
}
/*FI*/_rc=X291run_class(a1);
_rf=r355get_feature(((T355*)_rc),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
/*IF*/if ((_rf)==((void*)(NULL))) {
r683add_position((((T583*)C))->_start_position/*0*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms7_583);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms8_583));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/_rf3=_rf;
if(NULL!=(_rf3))switch(((T0*)_rf3)->id) {
case 832:
break;
default:
_rf3=NULL;
};/*IF*/if ((_rf3)==((void*)(NULL))) {
r683add_position((((T583*)C))->_start_position/*0*/);
r683add_position(X496start_position(_rf));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_583);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if ((r832arg_count(((T832*)_rf3)))>(0)) {
r683add_type(a1,((T0*)ms65_470));
r683add_position((((T583*)C))->_start_position/*0*/);
r683add_position(/*(IRF4.6start_position*/r297start_position(((T297*)((((T832*)((T832*)_rf3)))->_base_feature/*44*/)))/*)*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms10_583);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
/*]*/
}
/*FI*/}
/*No:CREATION_CLAUSE.comment*/
int r583has(T583* C,T0* a1){
int R=0;
/*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
R=r953has(((T953*)((((T583*)C))->_procedure_list/*12*/)),a1);
}
/*FI*/return R;
}
T0* r583expanded_initializer(T583* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
R=r355get_feature(((T355*)(X291run_class(a1))),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
if(NULL!=(R))switch(((T0*)R)->id) {
case 832:
break;
default:
R=NULL;
};}
/*FI*/return R;
}
/*No:CREATION_CLAUSE.fz_cbe*/
/*No:CREATION_CLAUSE.clients*/
/*No:CREATION_CLAUSE.fatal_error_vtec_2*/
/*No:CREATION_CLAUSE.fatal_error*/
/*No:CREATION_CLAUSE.procedure_list*/
void r490make(T490* C,T0* a1,T0* a2){
C->_to_string=r902item(a1);
C->_start_position=a2;
}
/*No:TAG_NAME.to_string*/
/*No:TAG_NAME.start_position*/
/*No:RUN_FEATURE_2.arguments*/
int r820id(T820* C){
int R=0;
R=X291id((((T820*)C))->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_2.ucs_true*/
/*No:RUN_FEATURE_2.c_define*/
/*No:RUN_FEATURE_2.actuals_clients*/
void r820nothing_comment(T820* C){
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_496));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291run_time_mark((((T820*)C))->_current_type/*4*/));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\56';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:RUN_FEATURE_2.ucs_in_computation*/
void r820make(T820* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
r199put(((T199*)((((T355*)((T355*)(r820run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
r604incr_magic_count(((T604*)(oBC364small_eiffel)));
C->_use_current_state=1005;
r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
r820initialize(C);
r604pop(((T604*)(oBC364small_eiffel)));
}
/*No:RUN_FEATURE_2.name*/
void r820mapping_name(T820* C){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='r';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r820id(C));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T820*)C))->_name/*16*/));
/*]*/
}
int r820arg_count(T820* C){
int R=0;
/*IF*/if (((((T820*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T820*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
}
/*FI*/return R;
}
/*No:RUN_FEATURE_2.local_vars*/
/*No:RUN_FEATURE_2.fz_open_c_comment*/
/*No:RUN_FEATURE_2.base_feature*/
/*No:RUN_FEATURE_2.start_position*/
/*No:RUN_FEATURE_2.fz_close_c_comment*/
int r820is_exported_in(T820* C,T0* a1){
int R=0;
R=r636gives_permission_to(((T636*)(r820clients(C))),a1);
return R;
}
/*No:RUN_FEATURE_2.compute_use_current*/
/*No:RUN_FEATURE_2.result_type*/
/*No:RUN_FEATURE_2.is_static*/
void r820add_client(T820* C,T0* a1){
int _i=0;
/*IF*/if (((((T820*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
{T187*n=malloc(sizeof(*n));
*n=M187;
r187with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
}
else {
_i=r187fast_index_of(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
/*IF*/if ((_i)>((((T187*)((T187*)((((T820*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
r187add_last(((T187*)((((T820*)C))->_actuals_clients/*12*/)),a1);
}
/*FI*/}
/*FI*/r355add_client(((T355*)(r820run_class(C))),a1);
}
/*No:RUN_FEATURE_2.use_current_state*/
/*No:RUN_FEATURE_2.can_be_dropped*/
void r820force_c_recompilation_comment(T820* C){
T0* _rc=NULL;
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470));
/*]*/
_rc=r820run_class(C);
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r355offset_of(((T355*)_rc),(T0*)C));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470));
/*]*/
}
/*No:RUN_FEATURE_2.current_type*/
T0* r820run_class(T820* C){
T0* R=NULL;
R=X291run_class((((T820*)C))->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_2.static_value_mem*/
/*No:RUN_FEATURE_2.fz_b5*/
/*No:RUN_FEATURE_2.ucs_not_computed*/
void r820fall_down(T820* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
int _i=0;
T0* _running=NULL;
_current_rc=X291run_class((((T820*)C))->_current_type/*4*/);
_running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
/*IF*/if ((_running)!=((void*)(NULL))) {
_current_bc=X291base_class((((T820*)C))->_current_type/*4*/);
_i=(((T396*)((T396*)_running)))->_lower/*12*/;
while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
_sub_rc=r396item(((T396*)_running),_i);
/*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
_sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
_sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T820*)C))->_name/*16*/);
_rf=r355get_feature(((T355*)_sub_rc),_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
/*No:RUN_FEATURE_2.ucs_false*/
/*No:RUN_FEATURE_2.is_pre_computable*/
T0* r820clients(T820* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*IF*/if (((((T820*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
_bc=X291base_class((((T820*)C))->_current_type/*4*/);
_bfbc=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/;
/*IF*/if ((_bc)==((void*)(_bfbc))) {
R=(((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_clients/*20*/;
}
else {
R=r605clients_for(((T605*)_bc),(((T820*)C))->_name/*16*/);
}
/*FI*/C->_clients_memory=R;
}
else {
R=(((T820*)C))->_clients_memory/*8*/;
}
/*FI*/return R;
}
int r820use_current(T820* C){
int R=0;
{int z1=(((T820*)C))->_use_current_state/*28*/;
if((1004==z1)){
R=1;
}
else
if((1003==z1)){
}
else
if((1005==z1)){
C->_use_current_state=1006;
/*[IRF3.3compute_use_current*/((((T820*)(C)))->_use_current_state)=(1004);
/*]*/
R=r820use_current(C);
}
else {R=1;
}}
return R;
}
void r820mapping_c(T820* C){
T0* _ct=NULL;
_ct=(((T820*)C))->_current_type/*4*/;
/*IF*/if (X291is_basic_eiffel_expanded(_ct)) {
r324put_target_as_value(((T324*)(oBC364cpp)));
}
else {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*IF*/if (X291is_reference(_ct)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
X291mapping_cast(_ct);
r324put_target_as_target(((T324*)(oBC364cpp)));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms240_470));
/*]*/
}
else {
r324put_target_as_value(((T324*)(oBC364cpp)));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_820));
/*]*/
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
/*]*/
r820force_c_recompilation_comment(C);
}
/*FI*/}
void r820address_of(T820* C){
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_820));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)C))->_name/*16*/));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
void r820put_tag(T820* C){
T0* _fn=NULL;
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\42';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
_fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
X776cpp_put_infix_or_prefix(_fn);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\42';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:RUN_FEATURE_2.clients_memory*/
void r820initialize(T820* C){
C->_result_type=X291to_runnable((((T106*)((T106*)((((T820*)C))->_base_feature/*32*/))))->_result_type/*12*/,(((T820*)C))->_current_type/*4*/);
}
void r820afd_check(T820* C){
T0* _rc=NULL;
_rc=X291run_class(X291run_type((((T820*)C))->_result_type/*24*/));
}